package com.kc.business.service;

import com.kc.business.domain.dto.BizOrderCompareStatisticsDTO;
import com.kc.business.domain.order.entity.BizCancelOrderStatistics;
import com.kc.business.domain.query.BizOrderStatisticsQuery;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public interface BizCancelOrderStatisticsService {
    /**
     * 获取数据列表
     * @param bizOrderStatisticsQuery
     * @return
     */
    List<BizCancelOrderStatistics> getList(BizOrderStatisticsQuery bizOrderStatisticsQuery);
    /**
     * 按照日期获取同环比数据
     * @param bizCancelOrderStatisticsList
     * @param bizOrderStatisticsQuery
     * @return
     */
    List<BizOrderCompareStatisticsDTO> getCompareDataByDate(List<BizCancelOrderStatistics> bizCancelOrderStatisticsList, BizOrderStatisticsQuery bizOrderStatisticsQuery, String attributeName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException;

    /**
     * 按照月份获取数据
     * @param bizOrderStatisticsQuery
     * @return
     */
    List<BizCancelOrderStatistics> getListByMonth(BizOrderStatisticsQuery bizOrderStatisticsQuery);
}
